﻿// 4625. 压缩文件.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4628/

李华想用他的优盘拷贝 n
 个文件，他的优盘的最大容纳空间为 m
。

第 i
 个文件所需占用的空间大小为 ai
。

为了一次性拷贝所有文件，他可以将文件进行压缩。

已知，第 i
 个文件经过压缩后，所占空间大小可以从 ai
 变为 bi
。

请问，他最少需要压缩多少个文件，才能使得优盘可以装下所有文件（即所有文件的所占空间之和不大于 m
）。

输入格式
第一行包含两个整数 n,m
。

接下来 n
 行，每行包含两个整数 ai,bi
。

输出格式
如果无论如何都不能装下所有文件，则输出 -1。

否则，输出一个整数，表示最少所需压缩的文件个数。

数据范围
前 3
 个测试点满足 1≤n≤4
。
所有测试点满足 1≤n≤105
，1≤m≤109
，1≤ai,bi≤109
，ai>bi
。

输入样例1：
4 21
10 8
7 4
3 1
5 4
输出样例1：
2
输入样例2：
4 16
10 8
7 4
3 1
5 4
输出样例2：
-1
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 